#ifndef __MODEL_H__
#define __MODEL_H__

#include "Common.h"

#include "dl_creationadapter.h"

class Model: public DL_CreationAdapter 
{
public:
    Model();

    bool setup();
    bool teardown();

    virtual void addPoint(const DL_PointData& data);
    virtual void addLine(const DL_LineData& data);
    virtual void addArc(const DL_ArcData& data);
    virtual void addCircle(const DL_CircleData& data);
    virtual void addPolyline(const DL_PolylineData& data);
    virtual void addEllipse(const DL_EllipseData& data);

    bool openDxfFile(char*);

protected:

    std::list<DL_LineData*> m_lines;
    std::list<DL_PointData*> m_points;
    std::list<DL_ArcData*> m_arcs;
    std::list<DL_CircleData*> m_circles;
    std::list<DL_PolylineData*> m_polylines;
    std::list<DL_EllipseData*> m_ellipses;

    friend class ModelDraw;
    
};

#endif